home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 June / EnigmA AMIGA RUN 08 (1996)(G.R. Edizioni)(IT)[!][issue 1996-06][EARSAN CD VII].iso / earcd / comm1 / s2mtr376.lha / SANA2Meter / Source / smakefile < prev    next >
Makefile  |  1996-04-26  |  7KB  |  242 lines

  1. #!sc:c/smake
  2. #
  3. #####################################################################
  4. #
  5. #  SMakefile for SANA2Meter
  6. #
  7. #  (C) Copyright 1996 Marius Gröger
  8. #      All Rights Reserved
  9. #
  10. #####################################################################
  11.  
  12. #####################################################################
  13. #
  14. # installation drawer and names
  15. #
  16. INSTALL_DIR = AMITCP:SANA2Meter
  17. BIN_DIR     = /bin
  18. LOCALE_DIR  = /Catalogs
  19. NAME        = SANA2Meter
  20. BASENAME    = SANA2Meter
  21. RELNAME     = s2meter
  22. IDS         = aminet.ids
  23. VERSION     = 37
  24. #
  25. #####################################################################
  26.  
  27. #####################################################################
  28. #
  29. # following stuff is your configuration
  30. #
  31. LIBS        = LIB lib:pools.lib LIB LIB:amiga.lib LIB lib:debug.lib \
  32.               LIB lib:sc.lib
  33. CINCLUDES   = INCDIR "DOCS:pd" INCDIR "DOCS:poolsinclude"
  34. ASMINCLUDES = INCDIR="INCLUDEA:"
  35. CPUSUFFIX   = 020 # 000 010 020 030 040 ANY
  36. CPUCCOPT    = CPU=68$(CPUSUFFIX)
  37. CP          = C:Copy
  38. MV          = C:Rename
  39. RM          = C:Delete >NIL:
  40. LD          = sc:c/slink
  41. CC          = sc:c/sc
  42. AS          = sc:c/sc
  43. STRIP       = sc:c/slink
  44. MAKE        = sc:c/smake
  45. BUMPREV     = C:BumpRev
  46. SETREV      = C:SetRev
  47. CATCOMP     = C:CatComp
  48. PROTECT     = protect
  49. BUILD_AMINET= /s/build-aminet
  50. ECHO        = Echo
  51. #
  52. #####################################################################
  53.  
  54. #####################################################################
  55. #
  56. # assembler/compiler flags
  57. #
  58. # this applies to normal and optimized compilation:
  59. #
  60. STDFLAGS    = $(CINCLUDES) NOMULTIPLEINCLUDES ERRREXX COMMENTNEST NOSTKCHK NOCHKABORT\
  61.               SMALLCODE SMALLDATA VERBOSE NOICONS NOSTRICT NOANSI DEBUG=SYMBOLFLUSH
  62. #
  63. # this applies only to normal compilation:
  64. #
  65. NORMCFLAGS  = $(STDFLAGS) GST $(NAME).gst
  66. #
  67. # this applies only to optimized compilation:
  68. #
  69. OPTCFLAGS   = $(STDFLAGS) $(CPUCCOPT) PARAMETERS=REGISTERS OPT OPTTIME OPTINLINE\
  70.               OPTSCHEDULE STRINGMERGE STRUCTUREEQUIVALENCE GST $(NAME).gst
  71. #
  72. # this applies to assembler compilation
  73. #
  74. AFLAGS      = $(ASMINCLUDES) VERBOSE SMALLCODE SMALLDATA
  75. #
  76. #####################################################################
  77.  
  78. #####################################################################
  79. #
  80. # linkage flags
  81. #
  82. LDFLAGS     = NOICONS SC SD $(LIBS) TO
  83. OPTLDFLAGS  = NOICONS SC SD ND $(LIBS) TO
  84. STRIPFLAGS  = NOICONS ND TO
  85. #
  86. #####################################################################
  87.  
  88. #####################################################################
  89. #
  90. # the object files
  91. #
  92. # use commented lines instead to compile w/out ExtReadArgs() package.
  93. #NORMOBJ  = LIB:RXstartup.obj $(NAME).no gui.no support.no \
  94. #            locale.no constdata.no
  95. #OPTOBJ   = LIB:RXstartup.obj $(NAME).opt$(CPUSUFFIX) \
  96. #            gui.opt$(CPUSUFFIX) support.opt$(CPUSUFFIX) \
  97. #            locale.no constdata.no
  98. NORMOBJ  = LIB:RXstartup.obj $(NAME).no gui.no support.no \
  99.             LIB:extrdargs.o locale.no constdata.no
  100. OPTOBJ   = LIB:RXstartup.obj $(NAME).opt$(CPUSUFFIX) \
  101.             gui.opt$(CPUSUFFIX) support.opt$(CPUSUFFIX) \
  102.             LIB:extrdargs.o locale.no constdata.no
  103. #
  104. #####################################################################
  105.  
  106. #####################################################################
  107. #
  108. # rules
  109. #
  110. # compile a file normally
  111. #
  112. .c.no:
  113.    $(CC) $(NORMCFLAGS) $*.c
  114.    -@$(RM) $*.no
  115.    @$(MV) $*.o $*.no
  116. #
  117. # compile a file optimizing
  118. #
  119. .c.opt$(CPUSUFFIX):
  120.    $(CC) $(OPTCFLAGS) $*.c
  121.    -@$(RM) $*.opt$(CPUSUFFIX)
  122.    @$(MV) $*.o $*.opt$(CPUSUFFIX)
  123. #
  124. # assemble a file
  125. #
  126. .asm.o:
  127.    $(AS) $(AFLAGS) $*.asm
  128. #
  129. #####################################################################
  130.  
  131. #####################################################################
  132. #
  133. # targets
  134. #
  135. help:
  136.    -@$(ECHO) "Usage:"
  137.    -@$(ECHO) "To make an unoptimized version"
  138.    -@$(ECHO) "   $(MAKE) all"
  139.    -@$(ECHO) "To make an optimized version"
  140.    -@$(ECHO) "   $(MAKE) all_opt"
  141.    -@$(ECHO) "To install an unoptimized version"
  142.    -@$(ECHO) "   $(MAKE) install"
  143.    -@$(ECHO) "To install an optimized version"
  144.    -@$(ECHO) "   $(MAKE) install"
  145.    -@$(ECHO) "To increment the releases's revision"
  146.    -@$(ECHO) "   $(MAKE) newrelrev"
  147.    -@$(ECHO) "To remove all intermediate files for unoptimized the version"
  148.    -@$(ECHO) "   $(MAKE) clean_norm"
  149.    -@$(ECHO) "To remove all intermediate files for optimized the version"
  150.    -@$(ECHO) "   $(MAKE) clean_opt"
  151.    -@$(ECHO) "To remove all intermediate files"
  152.    -@$(ECHO) "   $(MAKE) clean"
  153.  
  154. install: all
  155.    $(CP) $(BIN_DIR)/$(NAME) $(INSTALL_DIR)/$(NAME)
  156.  
  157. install_opt: all_opt
  158.    $(CP) $(BIN_DIR)/$(NAME).$(CPUSUFFIX) $(INSTALL_DIR)/$(NAME)
  159.  
  160. all: $(NAME).gst $(BIN_DIR)/$(NAME) locale
  161.  
  162. all_opt: $(NAME).gst $(BIN_DIR)/$(NAME).$(CPUSUFFIX) locale
  163.  
  164. $(NAME).gst: $(NAME).preinc
  165.    $(CC) NOOBJNAME MGST $@ $(STDFLAGS) $(NAME).preinc
  166.  
  167. newrelrev:
  168.    $(BUMPREV) $(VERSION) $(BASENAME)
  169.    $(RM) $(BASENAME)_rev.i
  170.  
  171. newrev:
  172.    $(BUMPREV) $(VERSION) $(NAME)_rev
  173.  
  174. clean_norm:
  175.    -@$(RM) *.ld
  176.    -@$(RM) *.gst
  177.    -@$(RM) *.o
  178.    -@$(RM) *.no
  179.  
  180. clean_opt:
  181.    -@$(RM) *.ld
  182.    -@$(RM) *.gst
  183.    -@$(RM) *.o
  184.    -@$(RM) *.opt*
  185.  
  186. clean: clean_norm clean_opt
  187.  
  188. release:
  189.    $(MAKE) CPUSUFFIX=000 all_opt
  190.    $(MAKE) CPUSUFFIX=020 all_opt
  191.    $(MAKE) CPUSUFFIX=040 all_opt
  192.    $(BUILD_AMINET) "$(RELNAME)" "$(BASENAME)" "$(BIN_DIR)/$(NAME).$(CPUSUFFIX)" "/ReadMe" "//$(NAME)" "$(IDS)" CLEAN
  193.  
  194. $(BIN_DIR)/$(NAME).$(CPUSUFFIX): $(OPTOBJ)
  195.    $(LD) $(OPTOBJ) $(OPTLDFLAGS) $@
  196.    $(PROTECT) $@ +p
  197.  
  198. $(BIN_DIR)/$(NAME): $(NORMOBJ)
  199.    $(LD) $(NORMOBJ) $(LDFLAGS) $@.ld
  200.    $(STRIP) $@.ld $(STRIPFLAGS) $@
  201.    $(PROTECT) $@ +p
  202. #
  203. #####################################################################
  204.  
  205. #####################################################################
  206. #
  207. # Localisation stuff
  208. #
  209. locale: blank.ct $(LOCALE_DIR)/deutsch/$(NAME).catalog
  210.  
  211. locale.no: locale.c locale.h
  212.    $(CC) IGNORE 84 $(NORMCFLAGS) $*.c
  213.    -@$(RM) $*.no
  214.    @$(MV) $*.o $*.no
  215.  
  216. blank.ct: locale.cd
  217.    $(CATCOMP) DESCRIPTOR locale.cd CTFILE $@
  218.  
  219. locale.h: locale.cd
  220.    $(CATCOMP) DESCRIPTOR locale.cd CFILE locale.h
  221.  
  222. $(LOCALE_DIR)/deutsch/$(NAME).catalog: deutsch.ct
  223.    $(CATCOMP) DESCRIPTOR locale.cd deutsch.ct CATALOG $@
  224. #
  225. #####################################################################
  226.  
  227.  
  228. #####################################################################
  229. #
  230. # various dependencies
  231. #
  232. constdata.no: constdata.c sana2meter.h SANA2Meter_rev.h
  233. support.no: support.c sana2meter.h constdata.h
  234. support.opt$(CPUSUFFIX): support.c sana2meter.h constdata.h
  235. gui.no: gui.c sana2meter.h constdata.h
  236. gui.opt$(CPUSUFFIX): gui.c sana2meter.h constdata.h
  237. $(NAME).no: $(NAME).c locale.h sana2meter.h constdata.h
  238. $(NAME).opt$(CPUSUFFIX): $(NAME).c locale.h sana2meter.h constdata.h
  239. #
  240. #####################################################################
  241.  
  242.